Jak zjistit IP adresu pocitace, kdyz znam port

Otázka od: Petr Brant

26. 11. 2002 10:34

Subject: Jak zjistit IP adresu pocitace, kdyz znam port
Ahoj vespolek, v mem programu bezi TCP/IP server na urcitem portu. Stanice
se k nemu pripojuji, ma to vsak jeden hacek: neznaji dopredu jeho IP adresu.
Neni sice problem to u vsech nastavit "natvrdo", ale pripada mi to malo
elegantni. Resil jsem to tak, ze server po startu zapise IP adresu do
souboru a stanice si jej prectou, ale to fungovalo jen do te doby, nez se u
jednoho zakaznika nainstaloval server na pocitac se dvema sitovymi kartami a
on zapsal do souboru podle zakona schvalnosti zrovna tu nevhodnou. Nemate
nekdo tip, jak "projit" sit a zjistit IP adresu pocitace, na kterem muj
server bezi?

Zdravim a diky predem

RNDr. Petr Brant [brant@dcomm.cz]
D&COMM s.r.o.
Korunovační 6
Praha 7
tel. +420724007234

Odpovedá: Sula Milos

26. 11. 2002 11:36

A bezi tam napr. DNS ? pak by prece stacilo se pripojovat, ne podle IP adresy
ale podle nazvu PC ?

Milos

-----Original Message-----
From: Petr Brant [mailto:brant@dcomm.cz]
Sent: Tuesday, November 26, 2002 9:59 AM
To: Konference Delphi (delphi-l@clexpert.cz); Konference Pandora
(delphin@pandora.cz)
Subject: Jak zjistit IP adresu pocitace, kdyz znam port


Ahoj vespolek, v mem programu bezi TCP/IP server na urcitem portu. Stanice se k
nemu pripojuji, ma to vsak jeden hacek: neznaji dopredu jeho IP adresu. Neni
sice problem to u vsech nastavit "natvrdo", ale pripada mi to malo elegantni.
Resil jsem to tak, ze server po startu zapise IP adresu do souboru a stanice si
jej prectou, ale to fungovalo jen do te doby, nez se u jednoho zakaznika
nainstaloval server na pocitac se dvema sitovymi kartami a on zapsal do souboru
podle zakona schvalnosti zrovna tu nevhodnou. Nemate nekdo tip, jak "projit"
sit a zjistit IP adresu pocitace, na kterem muj server bezi?

Zdravim a diky predem

RNDr. Petr Brant [brant@dcomm.cz]
D&COMM s.r.o.
Korunovační 6
Praha 7
tel. +420724007234

Odpovedá: Petr Langer

26. 11. 2002 12:29

Ahoj,
pokud to chces pouzit v lokalni siti, tak bud muzes pouzit WNetEnumResource
pro zjisteni vsech stroju na siti a pak vsem osahat port, jestli je tam
tvoje sluzba, nebo muzes pouzit sitovy broadcasting z klienta s tim, ze to
server zachyti a posle zpet odpoved (nikdy jsem to nedelal, ale melo by to
fungovat, pouziva to standardne SQL server a myslim si, ze i ten
WNetEnumResource dela neco podobneho...)

HTH
    Petr

btw. jakym zpusobem zapisuje server tu svoji adresu? Jak vi bud server na
jake pocitace ji ma zapsat, nebo jak vi klienti na jaky share se maji
podivat? To musis mis stejne natvrdo, ne?

----- Original Message -----
From: "Petr Brant" <brant@dcomm.cz>
To: <delphi-l@clexpert.cz>; <delphin@pandora.cz>
Sent: Tuesday, November 26, 2002 9:58 AM
Subject: Jak zjistit IP adresu pocitace, kdyz znam port


Ahoj vespolek, v mem programu bezi TCP/IP server na urcitem portu. Stanice
se k nemu pripojuji, ma to vsak jeden hacek: neznaji dopredu jeho IP adresu.
Neni sice problem to u vsech nastavit "natvrdo", ale pripada mi to malo
elegantni. Resil jsem to tak, ze server po startu zapise IP adresu do
souboru a stanice si jej prectou, ale to fungovalo jen do te doby, nez se u
jednoho zakaznika nainstaloval server na pocitac se dvema sitovymi kartami a
on zapsal do souboru podle zakona schvalnosti zrovna tu nevhodnou. Nemate
nekdo tip, jak "projit" sit a zjistit IP adresu pocitace, na kterem muj
server bezi?

Zdravim a diky predem

RNDr. Petr Brant [brant@dcomm.cz]
D&COMM s.r.o.
Korunovační 6
Praha 7
tel. +420724007234


Odpovedá: Petr Brant

26. 11. 2002 13:03

DNS tam pravdepodobne bezi, ale nelze zarucit jeho korektni konfiguraci. A
navic klient nezna jmeno toho pocitace, ledaze by se zadalo rucne, coz je
prave to, co nechci. Jde mi o to automaticke rozpoznani.

RNDr. Petr Brant [brant@dcomm.cz]
D&COMM s.r.o.
Korunovační 6
Praha 7
tel. +420724007234


 Subject: RE: Jak zjistit IP adresu pocitace, kdyz znam port

 A bezi tam napr. DNS ? pak by prece stacilo se pripojovat, ne podle
IP adresy ale podle nazvu PC ?

 Subject: Jak zjistit IP adresu pocitace, kdyz znam port


 Ahoj vespolek, v mem programu bezi TCP/IP server na urcitem portu.
Stanice se k nemu pripojuji, ma to vsak jeden hacek: neznaji dopredu jeho IP
adresu. Neni sice problem to u vsech nastavit "natvrdo", ale pripada mi to
malo elegantni. Resil jsem to tak, ze server po startu zapise IP adresu do
souboru a stanice si jej prectou, ale to fungovalo jen do te doby, nez se u
jednoho zakaznika nainstaloval server na pocitac se dvema sitovymi kartami a
on zapsal do souboru podle zakona schvalnosti zrovna tu nevhodnou. Nemate
nekdo tip, jak "projit" sit a zjistit IP adresu pocitace, na kterem muj
server bezi?

Odpovedá: Dalibor Toman

26. 11. 2002 13:55


>A bezi tam napr. DNS ? pak by prece stacilo se pripojovat, ne podle
IP adresy ale podle nazvu PC ?

tazateli jde zrejme o to, ze v kazde firemni siti muze mit dany server
jine IPcko - cili muze mit i jine lokalni jmeno.


>Ahoj vespolek, v mem programu bezi TCP/IP server na urcitem portu.
Stanice se k nemu pripojuji, ma to >vsak jeden hacek: neznaji dopredu
jeho IP adresu. Neni sice problem to u vsech nastavit "natvrdo", ale
>pripada mi to malo elegantni. Resil jsem to tak, ze server po startu
zapise IP adresu do souboru a stanice >si jej prectou, ale to
fungovalo jen do te doby, nez se u jednoho zakaznika nainstaloval
server na pocitac >se dvema sitovymi kartami a on zapsal do souboru
podle zakona schvalnosti zrovna tu nevhodnou. >Nemate nekdo tip, jak
"projit" sit a zjistit IP adresu pocitace, na kterem muj server bezi?

optimalni varianta je podle mne (pokud se spoleha pouze na TCP/IP
protokol):
1) broadcast dotaz od klienta - proste broadcastne UDP dotaz na
nejakem portu (muze byt stejny jako ten TCP port na kterym server
posloucha). Server musi poslouchat i na tom UDP portu - posle odpoved
a klient uz vi kde server je (IP odesilatele UDP datagramu je ta
prava)

2) server cas od casu posila sam UDP broadcasty a klienti si je
chytaji. Problem je, ze se musi pockat az ten broadcast prijde
(budou-li se posilat moc casto zbytecne se zvysuje traffic)

oproblem u obou metod je ten, ze broadcasty se nebudou sirit do
segmentu oddelenych routery (tam nezbyde nic jineho nez klienty
konfigurovat natvrdo)


Zdravi
D. Toman

Odpovedá: Petr Brant

26. 11. 2002 13:31

Odpoved na tvunj dotaz: Pro vsechny stanice je spolecny sdileny adresar s
daty. Tam zapise server svou IP adresu do textoveho souboru a kazda stanice
vi, jak se tento soubor jmenuje. Takze si ho precte a hotovo. Nemas nahodou
nejaky funkcni priklad na to WNetEnumResource? Nikdy jsem s tim nedelal, tak
at mevymyslim jiz vymyslene. Diky a zdravim

RNDr. Petr Brant [brant@dcomm.cz]
D&COMM s.r.o.
Korunovační 6
Praha 7
tel. +420724007234

 Subject: Re: Jak zjistit IP adresu pocitace, kdyz znam port

 Ahoj,
 pokud to chces pouzit v lokalni siti, tak bud muzes pouzit
WNetEnumResource
 pro zjisteni vsech stroju na siti a pak vsem osahat port, jestli je
tam
 tvoje sluzba, nebo muzes pouzit sitovy broadcasting z klienta s tim,
ze to
 server zachyti a posle zpet odpoved (nikdy jsem to nedelal, ale melo
by to
 fungovat, pouziva to standardne SQL server a myslim si, ze i ten
 WNetEnumResource dela neco podobneho...)


 btw. jakym zpusobem zapisuje server tu svoji adresu? Jak vi bud
server na
 jake pocitace ji ma zapsat, nebo jak vi klienti na jaky share se
maji
 podivat? To musis mis stejne natvrdo, ne?


 Ahoj vespolek, v mem programu bezi TCP/IP server na urcitem portu.
Stanice
 se k nemu pripojuji, ma to vsak jeden hacek: neznaji dopredu jeho IP
adresu.
 Neni sice problem to u vsech nastavit "natvrdo", ale pripada mi to
malo
 elegantni. Resil jsem to tak, ze server po startu zapise IP adresu
do
 souboru a stanice si jej prectou, ale to fungovalo jen do te doby,
nez se u
 jednoho zakaznika nainstaloval server na pocitac se dvema sitovymi
kartami a
 on zapsal do souboru podle zakona schvalnosti zrovna tu nevhodnou.
Nemate
 nekdo tip, jak "projit" sit a zjistit IP adresu pocitace, na kterem
muj
 server bezi?

Odpovedá: Robert Suska

26. 11. 2002 14:06

AHoj

A co keby server vysielal nieco po broadcaste na nejakom portre trebars tu
konfiguraciu a v tom programe by si mal tento port nastaveny pevne. Neslo by
to tak ? Ak sa mylim tak sorry.

Robo


>DNS tam pravdepodobne bezi, ale nelze zarucit jeho korektni konfiguraci. A
>navic klient nezna jmeno toho pocitace, ledaze by se zadalo rucne, coz je
>prave to, co nechci. Jde mi o to automaticke rozpoznani.

>RNDr. Petr Brant [brant@dcomm.cz]

Odpovedá: Petr Palicka

26. 11. 2002 14:01

> navic klient nezna jmeno toho pocitace, ledaze by se zadalo
> rucne, coz je prave to, co nechci. Jde mi o to automaticke rozpoznani.

pak muzes IMHO (ja do siti moc nedelam ;) poslat
UDP paket, coz jestli se nepletu, tak je jakesi
vsesmerove obeslani site a serverem si poslat IP
na odeselitale UDP paketu a potom uz by to snad slo...

peca

Odpovedá: Dalibor Toman

26. 11. 2002 16:00

>pak muzes IMHO (ja do siti moc nedelam ;) poslat
>UDP paket, coz jestli se nepletu, tak je jakesi
>vsesmerove obeslani site

UDP samo o sobe neznamene vsesmerove vysilani. Ale je mozne UDP packet
takto vyslat

>a serverem si poslat IP
>na odeselitale UDP paketu a potom uz by to snad slo...

to neni mozne, protoze v pripade serveru s vice sitovkama (nebo vice
IPcky na sitovce) aplikace nemuze vedet jaka IP adresa je z klientske
stanice dosazitelna (samozrejme lze to odhadnout ale je to zbytecnej
kod vyuzivajici funkce, ktere nejsou na vsech verzich windowsu
dostupne). Reseni je aby klient sam pouzil to IPcko ktere bude
odesilatelem UDP packetu ze serveru. A server by mel na dotazy klientu
naslouchat na vsech IP (jista bezpecnost - aby nereagoval na packety
napriklad z internetu - je ale ovsem zadouci a mela by byt
implementovana)


Zdravi
D. Toman

Odpovedá: Petr Langer

26. 11. 2002 16:37

Subject: Re: Jak zjistit IP adresu pocitace, kdyz znam port
No, tazke musis mit natvrdo dany nazev sdileneho adresare, tj. stejne, jako
bys mel nekde natvrdo nazev stroje, nebo IP... takze o nicem...
Nicmene, priklad sice nemam, ale magicky dotaz na googlu na
"WNetEnumResource Delphi" mi prozradil hned nekolik kouzelnych adres  ,
napr.
http://www.infojet.cz/program/delphi/tips/tip0012.html
nebo
http://www.elists.org/pipermail/delphi/2001-March/009012.html
a nekolik dalsich...

Hledat chlapci, hledat, jinak se vsichni budeme zbytecne zdrzovat, kdyz to
muzeme najit snadno a rychle...

HTH
    pl

----- Original Message -----
From: "Petr Brant" <brant@dcomm.cz>


Odpoved na tvunj dotaz: Pro vsechny stanice je spolecny sdileny adresar s
daty. Tam zapise server svou IP adresu do textoveho souboru a kazda stanice
vi, jak se tento soubor jmenuje. Takze si ho precte a hotovo. Nemas nahodou
nejaky funkcni priklad na to WNetEnumResource? Nikdy jsem s tim nedelal, tak
at mevymyslim jiz vymyslene. Diky a zdravim

RNDr. Petr Brant [brant@dcomm.cz]